1. Field of the Invention
The present invention relates to a nonstop program system and a method of continuously running predetermined programs while defragmenting memory in such a system.
2. Description of the Background Art
Conventionally, nonstop program systems can run nonstop to execute programs. Japanese patent laid-open publication No. 2002-259142 discloses a manner of switching applications and controlling the switching, which can solve memory leak caused at the time of execution of the application program as a new process to take over the old process without interruption of the process.
In the manner disclosed, software for controlling program start sets, in a software manager, index information and information identifying the generation of software and totally manages the start control of a plurality of the application programs in such a fashion that the software periodically switches from an old or current program to new one in response to a notice from time monitoring software to thereby automatically compensate for memory leak which might have been involved in the old program without interrupting the service provided by the application programs.
In the conventional system, however, it is impossible to solve the problem of memory fragmentation caused by repeating memory hunt and memory free at the time of executing the program.
Generally, the program dynamically hunts a memory area when required for effectively storing data to thereby secure the memory area and releases, or frees, the memory area when becoming unnecessary, thereby effectively utilizing the memory. when the memory hunt and free are repeated, continuous memory areas may not be secured, i.e. intermittent areas may be used. When such intermittent memory areas are used for executing a program so as to cause memory leak, the available memory areas are positioned fragmentarily, thus sometimes making it difficult to continuously run the program.
The memory fragmentation can occur everywhere of the memory. Such fragmented memory areas are minor portions on the whole memory, indeed. However, they tend to cause the unavailable memory areas to increase. In this case, the areas unavailable for memory hunt decrease and the areas available for memory hunt become fragmentary. Thus, the conventional nonstop program systems bring bad influence, e.g. the system interruption or slowdown of processing.